SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROC [dbo].[SP_TXMVTO_CNTB_I02]            
/*-------------------------------------------------------------------*/            
/*----- Empresa           : OFISIS S.A.                          ----*/            
/*----- Cliente           : OFISIS S.A.                          ----*/            
/*----- Sistema           : Contabilidad                         ----*/            
/*----- Modulo            : Empresa                              ----*/            
/*----- Programa          : Mantenimiento de vouchers Distrib.   ----*/            
/*----- Nombre            : SP_TXMVTO_CNTB_I02                   ----*/            
/*----- Script            : TXMVTO_CNTB                          ----*/            
/*----- Desarrollado por  : Martin Garcia Farfan                 ----*/            
/*----- Fecha             : 04/03/1999                           ----*/            
/*----- Base de Datos     : MS SQL Server                        ----*/            
/*----- Version BD        : 6.5                                  ----*/            
/*-------------------------------------------------------------------*/            
/*-------------------------------------------------------------------*/        
/*----- Modificado 1 por : LGMP                           ----*/        
/*----- Fecha Modifica   : 25/08/2005                            ----*/        
/*----- Detalle Modifica : Se amplio long. NO_GIRA a 100         ----*/        
/*-------------------------------------------------------------------*/       
/*-------------------------------------------------------------------*/        
/*----- Modificado 2 por : GEE                           ----*/        
/*----- Fecha Modifica   : 26/09/2005                            ----*/        
/*----- Detalle Modifica : se cambio ST_CNTA_CAMB X  ST_CNTA_CAMB        ----*/        
/*-------------------------------------------------------------------*/       
/*-------------------------------------------------------------------*/          
/*----- Modificado 3 por : percy garcia                          ----*/          
/*----- Fecha Modifica   : 04/09/2006                            ----*/          
/*----- Detalle Modifica : SE AUMENTO NUEVO CAMPO FECHA DE PAGO  ----*/          
/*-------------------------------------------------------------------*/          
/*-------------------------------------------------------------------*/            
/*----- Drop proc SP_TXMVTO_CNTB_I02                             ----*/            
/*----- Grant all on SP_TXMVTO_CNTB_I02 to PUBLIC                ----*/            
/*----- SP_TXMVTO_CNTB_I02                                       ----*/            
/*-------------------------------------------------------------------*/            
            
  
--WITH ENCRYPTION      
as            
Declare            
 @INNU_ULTI_ASTO int,          
 @VNUL_CHEQ_GIRA  int,            
 @ISST_GENE_ASTO char(03),            
 @VSST_CNTA_CAMB  char(03),            
 @VNFA_CAMB_DIAR  TD_NU_015_006,            
----------
@ISCO_EMPR TD_VC_002,         
@ISCO_USUA TD_VC_008,      
@IDFE_USUA TD_DT_001,         
@INNU_CNTB_EMPR TD_IN_001_CONT,            
@ISCO_UNID_CNTB TD_VC_003,            
@ISCO_OPRC_CNTB TD_VC_003,            
@INNU_ANNO TD_IN_004_ANNO,            
@INNU_MESE TD_IN_002_MESE,            
@ISNU_ASTO TD_VC_010,            
@INNU_SECU TD_IN_002,            
@IDFE_ASTO_CNTB TD_DT_001,            
@ISCO_CNTA_EMPR TD_VC_020_CNTA,             
@ISST_GENE TD_VC_003,            
@ISTI_AUXI_EMPR TD_VC_001,            
@ISCO_AUXI_EMPR TD_VC_020,            
@ISTI_DOCU TD_VC_003,            
@ISNU_DOCU TD_VC_020,             
@IDFE_DOCU TD_DT_001,             
@ISTI_OPER TD_VC_003,            
@ISCO_MONE TD_VC_003,             
@ISTI_CAMB TD_VC_003,             
@INFA_CAMB TD_NU_015_006,            
@INFA_CAMB_DIAR TD_NU_015_006,            
@INIM_MVTO_ORIG TD_NU_016_004,             
@ISCO_ORDE_SERV TD_VC_020,       
@ISDE_GLOS TD_VC_100,            
@ISTI_DOCU_REFE TD_VC_003,            
@ISNU_DOCU_REFE TD_VC_020,            
@ISNO_GIRA TD_VC_100,            
@IDFE_PROG_CHEQ TD_DT_001,            
@IDFE_ENTR_CHEQ TD_DT_001,            
@ISSI_MVTO_CNTB TD_VC_003,            
@IDFE_DOCU_VENC TD_DT_001,            
@IDFE_PAGO TD_DT_001,            
@IDFE_DOCU_REFE TD_DT_001,      
@INIM_MVTO_CNTB TD_NU_016_004,             
@ISTI_DOCU_DETR TD_VC_003,            
@ISNU_DOCU_DETR TD_VC_020,            
@IDFE_DOCU_DETR TD_DT_001,  
@IDFE_INIC_PRES TD_DT_001,    
@IDFE_FINA_PRES TD_DT_001,
@INIM_MVTO_RETE TD_NU_016_004,              
@ISCO_MEPA TD_VC_003


      
Select Top 1 @ISCO_EMPR = CO_EMPR,              
@ISCO_USUA = CO_USUA,        
@IDFE_USUA = FE_USUA,        
@ISCO_UNID_CNTB = CO_UNID_CNTB,      
@INNU_CNTB_EMPR = NU_CNTB_EMPR,      
@ISCO_OPRC_CNTB = CO_OPRC_CNTB,              
@INNU_ANNO = NU_ANNO,      
@INNU_MESE = NU_MESE,              
@ISNU_ASTO = NU_ASTO,      
@INNU_SECU = NU_SECU,      
@IDFE_ASTO_CNTB = FE_ASTO_CNTB,              
@ISCO_CNTA_EMPR = CO_CNTA_EMPR,               
@ISST_GENE = ST_GENE,              
@ISTI_AUXI_EMPR = TI_AUXI_EMPR,              
@ISCO_AUXI_EMPR = CO_AUXI_EMPR,              
@ISTI_DOCU = TI_DOCU,              
@ISNU_DOCU = NU_DOCU,               
@IDFE_DOCU = FE_DOCU,      
@ISTI_OPER = TI_OPER,      
@ISCO_MONE = CO_MONE,               
@ISTI_CAMB = TI_CAMB,               
@INFA_CAMB = FA_CAMB,              
@INFA_CAMB_DIAR = FA_CAMB_DIAR,              
@INIM_MVTO_ORIG = IM_MVTO_ORIG,               
@ISCO_ORDE_SERV = CO_ORDE_SERV,               
@ISDE_GLOS = DE_GLOS,              
@ISTI_DOCU_REFE = TI_DOCU_REFE,              
@ISNU_DOCU_REFE = NU_DOCU_REFE,              
@ISNO_GIRA = NO_GIRA,              
@IDFE_PROG_CHEQ = FE_PROG_CHEQ,              
@IDFE_ENTR_CHEQ = FE_ENTR_CHEQ,              
@ISSI_MVTO_CNTB = SI_MVTO_CNTB,              
@IDFE_DOCU_VENC = FE_DOCU_VENC,              
@IDFE_PAGO = FE_PAGO,              
@IDFE_DOCU_REFE = FE_DOCU_REFE,              
@INIM_MVTO_RETE = IM_MVTO_RETE,              
@INIM_MVTO_CNTB = IM_MVTO_CNTB,               
@ISTI_DOCU_DETR = TI_DOCU_DETR,               
@ISNU_DOCU_DETR = NU_DOCU_DETR,               
@IDFE_DOCU_DETR = FE_DOCU_DETR,
/*,                
@IDFE_INIC_PRES = FE_INIC_PRES,      
@IDFE_FINA_PRES = FE_FINA_PRES,    */
@ISCO_MEPA = CO_MEPA    
From #TWPARA_EMAA


If @IDFE_PROG_CHEQ = ''            
 Select @IDFE_PROG_CHEQ = NULL            
If @IDFE_ENTR_CHEQ = ''            
 Select @IDFE_ENTR_CHEQ = NULL            
               
If @ISCO_ORDE_SERV = ''            
 Select @ISCO_ORDE_SERV  = NULL            
                                                                                                                                                                                                                
If @ISTI_AUXI_EMPR = ''            
 Select @ISTI_AUXI_EMPR  = NULL            
             
If @ISCO_AUXI_EMPR = ''            
   Select @ISCO_AUXI_EMPR = NULL            
                              
If @ISTI_DOCU = ''            
 Select @ISTI_DOCU = NULL            
                                      
If @ISNU_DOCU = ''            
 Select @ISNU_DOCU = NULL            
                                                                                                    
If @IDFE_DOCU = ''            
 Select @IDFE_DOCU = NULL            
              
If @INFA_CAMB IS NULL            
 Select @INFA_CAMB = 1.000            
      
Select @VNFA_CAMB_DIAR = @INFA_CAMB_DIAR      
            
Select @ISST_GENE_ASTO = ST_GENE_ASTO            
From TTCNTB_EMPR            
Where CO_EMPR = @ISCO_EMPR and             
        NU_CNTB_EMPR = @INNU_CNTB_EMPR            
            
Begin Tran SP_TXMVTO_CNTB_I02            
            
Select @INNU_ULTI_ASTO = IsNull(NU_ULTI_ASTO,0)            
  from TCFECH_PROC            
Where CO_EMPR = @ISCO_EMPR            
and NU_CNTB_EMPR = @INNU_CNTB_EMPR            
and CO_UNID_CNTB = @ISCO_UNID_CNTB            
and CO_OPRC_CNTB = @ISCO_OPRC_CNTB            
and NU_ANNO = @INNU_ANNO            
and NU_MESE = @INNU_MESE            
            
if IsNull(Rtrim(@ISNU_ASTO), '') = ''            
  If @ISST_GENE_ASTO = 'GEN'            
   Begin            
    Select @ISNU_ASTO = Convert( varchar(10), @INNU_ULTI_ASTO + 1 )            
    Select @ISNU_ASTO = STUFF('0000000000', 11-datalength( @ISNU_ASTO ), datalength(@ISNU_ASTO ), @ISNU_ASTO )            
                      
    Update TCFECH_PROC            
    Set NU_ULTI_ASTO = @INNU_ULTI_ASTO + 1            
    Where CO_EMPR = @ISCO_EMPR            
    and NU_CNTB_EMPR = @INNU_CNTB_EMPR            
    and CO_UNID_CNTB = @ISCO_UNID_CNTB              
    and CO_OPRC_CNTB = @ISCO_OPRC_CNTB            
    and NU_ANNO = @INNU_ANNO            
    and NU_MESE = @INNU_MESE            
   End            
                                                                                                                                                                                        
If (@ISTI_DOCU = 'CHE' or @ISTI_DOCU = 'CHQ' or @ISTI_DOCU = 'CH') And (@ISST_GENE ='GEN')            
Begin            
 Select @VNUL_CHEQ_GIRA = NU_ULTI_CHEQ            
 From TTCNTA_BNCO            
 Where CO_EMPR = @ISCO_EMPR            
 and CO_CNTA_EMPR = @ISCO_CNTA_EMPR            
             
 Select  @VNUL_CHEQ_GIRA = isnull(@VNUL_CHEQ_GIRA, 0) + 1            
 Select  @ISNU_DOCU = convert(char(20), @VNUL_CHEQ_GIRA)            
             
 Update TTCNTA_BNCO            
 set NU_ULTI_CHEQ = convert(int, @ISNU_DOCU)            
 Where CO_EMPR = @ISCO_EMPR            
 and CO_CNTA_EMPR = @ISCO_CNTA_EMPR            
End            
      
 if @VNFA_CAMB_DIAR IS NULL             
  Begin      
   Select @VSST_CNTA_CAMB = ST_CNTA_CAMB            
   from TMPLAN_EMPR            
   where CO_EMPR =  @ISCO_EMPR            
   and   CO_CNTA_EMPR = @ISCO_CNTA_EMPR            
   and   NU_ANNO = 9999            
            
   if @VSST_CNTA_CAMB = 'COM'            
    Select @VNFA_CAMB_DIAR = FA_CMPR_OFIC            
    from TCFACT_CAMB            
    where CO_MONE NOT IN (Select CO_MONE from TTCNTB_EMPR             
                          where CO_EMPR = @ISCO_EMPR and NU_CNTB_EMPR = @INNU_CNTB_EMPR)            
    and FE_CAMB = @IDFE_ASTO_CNTB            
    
   if @VSST_CNTA_CAMB = 'VEN'            
    Select  @VNFA_CAMB_DIAR = FA_VNTA_OFIC            
    from TCFACT_CAMB            
    where CO_MONE NOT IN (Select CO_MONE from TTCNTB_EMPR             
                          where CO_EMPR = @ISCO_EMPR and NU_CNTB_EMPR = @INNU_CNTB_EMPR)            
    and FE_CAMB = @IDFE_ASTO_CNTB             
  End      
            
Insert Into TXMVTO_CNTB            
(CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO, NU_MESE, NU_ASTO,            
 NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR, TI_DOCU, NU_DOCU,             
 FE_DOCU, FE_DOCU_VENC,FE_PAGO,TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,             
 IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, FE_DOCU_REFE, NO_GIRA, CO_ORDE_SERV,             
 SI_MVTO_CNTB, CO_UNID_ORIG , CO_OPRC_ORIG, NU_ASTO_ORIG, FE_ENTR_CHEQ, FE_PROG_CHEQ,            
 ST_OTRS, NU_PROC, NU_PROC_SECU, ST_GEST, ST_REDO, TI_DOCU_DETR, NU_DOCU_DETR, FE_DOCU_DETR,  
 FE_INIC_PRES,FE_FINA_PRES,            
 FE_USUA_CREA, CO_USUA_CREA, FE_USUA_MODI, CO_USUA_MODI)            
Values            
(@ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @ISCO_OPRC_CNTB, @INNU_ANNO, @INNU_MESE,             
 @ISNU_ASTO, @INNU_SECU, @IDFE_ASTO_CNTB, @ISCO_CNTA_EMPR, @ISTI_AUXI_EMPR, @ISCO_AUXI_EMPR,             
 @ISTI_DOCU, @ISNU_DOCU, @IDFE_DOCU, @IDFE_DOCU_VENC,@IDFE_PAGO, @ISTI_CAMB, @ISCO_MONE, Round(@INFA_CAMB,6),             
 Round(@VNFA_CAMB_DIAR,6), @ISTI_OPER, Round(@INIM_MVTO_ORIG,2), Round(@INIM_MVTO_CNTB,2), @ISDE_GLOS, @ISTI_DOCU_REFE,       
 @ISNU_DOCU_REFE, @IDFE_DOCU_REFE, @ISNO_GIRA, @ISCO_ORDE_SERV, @ISSI_MVTO_CNTB, NULL, NULL, NULL,             
 @IDFE_ENTR_CHEQ, @IDFE_PROG_CHEQ, NULL, NULL, NULL, 'N', 'N', @ISTI_DOCU_DETR, @ISNU_DOCU_DETR,       
 @IDFE_DOCU_DETR,  
 @IDFE_INIC_PRES,@IDFE_FINA_PRES,  
 @IDFE_USUA, @ISCO_USUA, @IDFE_USUA, @ISCO_USUA)            
      
Commit Tran SP_TXMVTO_CNTB_I02            
Select @ISNU_ASTO, @ISTI_DOCU, @ISNU_DOCU            
Return            
/*----------------------------------------- Fin -------------------------------------*/            
  





GO
